/*
This file is part of Jumpers.

Jumpers is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Jumpers is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Jumpers.  If not, see <http://www.gnu.org/licenses/>.
*/

package org.chaoticengine.cgll.entity.component;

import java.util.Map;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.state.StateBasedGame;

/**
 *
 * @author Matt v.d. Westhuizen
 */
public interface IActiveComponent extends IComponent {
    /** Commands added by this component. */
    public Map<String, Command> getCommands();

    /** Update this component. */
    public void update(GameContainer gc, StateBasedGame sb, int delta);

    /** Enable a command belonging to this component. */
    public void enableCommand(Command c);

    /** Disable a command belonging to this component. */
    public void disableCommand(Command c);
}
